package Negocio;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import DTO.DTO_InformeReposicionArea;
import DTO.DTO_InsumoAReponer;
import Entities.Entity_InformeReposicionArea;
import Entities.Entity_InsumoAReponer;

public class InformeReposicionArea {
	
	private int idInformeReposicion;
	private Date fecha;
	private List<InsumoAReponer> insumosAReponer;
	
	//Constructores
	public InformeReposicionArea(int idInformeReposicion, Date fecha,
			List<InsumoAReponer> insumosAReponer) {
		super();
		this.idInformeReposicion = idInformeReposicion;
		this.fecha = fecha;
		this.insumosAReponer = insumosAReponer;
	}
	
	public InformeReposicionArea(DTO_InformeReposicionArea i){
		this.idInformeReposicion = i.getIdInformeReposicion();
		this.fecha = i.getFecha();
		this.insumosAReponer = new ArrayList<InsumoAReponer>();
		for(DTO_InsumoAReponer a : i.getInsumosAReponer()){
			this.insumosAReponer.add(new InsumoAReponer(a));
		}
	}
	
	public InformeReposicionArea() {
	}

	public InformeReposicionArea(Entity_InformeReposicionArea i) {
		this.idInformeReposicion = i.getIdInformeReposicion();
		this.fecha = i.getFecha();
		this.insumosAReponer = new ArrayList<InsumoAReponer>();
		for(Entity_InsumoAReponer a : i.getInsumosAReponer()){
			this.insumosAReponer.add(new InsumoAReponer(a));
		}
	}

	//GET & SET
	public int getIdInformeReposicion() {
		return idInformeReposicion;
	}

	public void setIdInformeReposicion(int idInformeReposicion) {
		this.idInformeReposicion = idInformeReposicion;
	}

	public Date getFecha() {
		return fecha;
	}

	public void setFecha(Date fecha) {
		this.fecha = fecha;
	}

	public List<InsumoAReponer> getInsumosAReponer() {
		return insumosAReponer;
	}

	public void setInsumosAReponer(List<InsumoAReponer> insumosAReponer) {
		this.insumosAReponer = insumosAReponer;
	}
	
	//METODOS DE NEGOCIO
	public void agregarInsumoAReponer(InsumoAReponer insumoAReponer){
		insumosAReponer.add(insumoAReponer);
	}
	public DTO_InformeReposicionArea toDTO()
	{
		DTO_InformeReposicionArea ira = new DTO_InformeReposicionArea();
		ira.setFecha(fecha);
		ira.setIdInformeReposicion(idInformeReposicion);
		List<DTO_InsumoAReponer> irs = new ArrayList<DTO_InsumoAReponer>();
		for(InsumoAReponer ir : insumosAReponer)
			irs.add(ir.toDTO());
		ira.setInsumosAReponer(irs);
		return ira;
	}

	public Entity_InformeReposicionArea toEntity() {
		Entity_InformeReposicionArea ira = new Entity_InformeReposicionArea();
		ira.setFecha(fecha);
		ira.setIdInformeReposicion(idInformeReposicion);
		List<Entity_InsumoAReponer> irs = new ArrayList<Entity_InsumoAReponer>();
		for(InsumoAReponer ir : insumosAReponer)
			irs.add(ir.toEntity());
		ira.setInsumosAReponer(irs);
		return ira;
	}

}
